Method and system for controlling screen focus for files and applications during presentations

ABSTRACT

A method and system for controlling screen focus for files and applications during presentations provides for protection of information in a computer-generated presentation setting and prevention of interruption of a presentation by unwanted computer activity. A list is built of applications and files for which screen access is permitted during the presentation. Upon an indication that the presentation is active, when an application or file is about to obtain screen focus, the list is checked to determine whether access is permitted for the file or application. If the application or file is should not have the focus, execution of an application or opening of a file is blocked, or screen focus is denied to windows generated in conjunction with application or file. The indication that the presentation is active may be the connection of a particular display type (e.g., a projector) or the use of a certain display port.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention is related to computer systems and operatingsystem/application software, and more particularly to a method andsystem that prevent the display of undesirable information during acomputer-generated presentation.

2. Description of Related Art

General-purpose computer systems are commonly used for providingcomputer-generated presentations. The typical set-up used to providesuch presentations is a liquid-crystal-display (LCD) projector having avideo graphics adapter (VGA) port attached to a notebook computersystem, typically the notebook computer system used personally by thepresenter.

The aforementioned set-up permits a presenter to develop and transport apresentation to a remote site, such as a lecture hall, with theassurance that the presentation is under the control of the presenterwith respect to both content and operability.

However, there are several conditions that might interrupt or compromisea presentation. The presenter may activate other programs or open filesas part of the presentation, in order to make side points or tosupplement the presentation. If the presenter accidentally activates anunintended file or program, information displayed as a result may resultin the exposure of sensitive data, cause embarrassment, or in the leastpart will interrupt the flow of the presentation.

Further, automatic response of programs or operating systems facilitiesmay cause interruption of a presentation. In particular, pop-upapplications serving Internet communications such as instant messagingapplications, may gain screen focus and control of user input during apresentation, which is highly undesirable. With the advent of widespreadwireless local-area-network (WLAN) connectivity, it is even more likelythat such problems will occur, as the presenter would have to disablethe WLAN connection or any programs or services that might become activein response to a network request. The presenter would then have tore-enable the disabled features when the presentation was complete. Suchreconfiguration is inconvenient and susceptible to human error.

Therefore, it would be desirable to provide a method and system forpreventing interruption and/or display of undesired information duringcomputer-generated presentations.

SUMMARY OF THE INVENTION

The above objectives of preventing interruption and/or display ofundesired information during computer-generated presentations isprovided in a method and system for controlling screen focus for filesand applications during a computer-generated presentation.

The method may be embodied in a computer system executing programinstructions for carrying out the steps of the method and may further beembodied in a computer program product containing program instructionsin computer-readable form for carrying out the steps of the method.

A list of applications and files for which screen display is permittedduring a presentation is built prior to the presentation. Upon anindication that a presentation is active, when a window for a file orapplication is about to obtain screen focus, the list is checked todetermine whether to permit the focus to pass to the window. If theapplication or file is not in the list the focus change is blocked. Theblocking may be performed by control of the window focus or bypreventing the opening of the file if it is not already open.

Determination of whether the presentation is active may be madedirectly—by a setting in or by the presentation program or by detectionof the use of a particular display type or port, such as an LCDprojector.

The foregoing and other objectives, features, and advantages of theinvention will be apparent from the following, more particular,description of the preferred embodiment of the invention, as illustratedin the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a pictorial diagram of a computer system in which methods inaccordance with an embodiment of the present invention are performed.

FIG. 2 is a block diagram showing memory organization of softwaremodules in a computer system in accordance with an embodiment of thepresent invention.

FIG. 3 is a flow chart of a method in accordance with an embodiment ofthe present invention.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENT

Referring to the figures, and particularly to FIG. 1, a computer system,in which methods according to an embodiment of the present invention areperformed, is depicted. A notebook computer 10, having a processor 11coupled to a memory 13, for executing program instructions from memory13, is shown. Network connection 14 may be wired or wireless and couplesnotebook computer 10 to the Internet or other network.

The program instructions include program instructions for executing oneor more methods in accordance with an embodiment of the presentinvention. The methods of the present invention are directed towardcontrolling operation of the computer system during a presentation, sothat undesirable information is not presented during the presentation orthat the presentation is not otherwise interrupted.

Notebook computer 10 includes a display adapter 15 coupled to aninternal LCD display 17 and an external display connector (generally aVGA port) 19 to which an external projector 12 is attached.Alternatively, external projector 12 may be connected to an external businterface 16 of notebook computer 10, such as a universal serial bus(USB) or IEEE1394 (FIREWIRE or ILINK) adapter. (In the bus attachmentconfiguration, projector 12 includes the functionality of displayadapter 15 such as screen memory and rasterizing hardware). Preferably,connection of projector 12 is detected by a hardware mechanism such asplug-and-play (PnP) monitor ID detection through display connector 19 orby device detection on external bus interface 16. A wireless-connectedprojector may also be found through indications provided by a wirelessnetwork stack or interface driver. A program in accordance with anembodiment of the present invention may use the device type (e.g.,projector) or the use of an external connector such as display connector19 or connection of a display device on bus interface 16 as anindication that a presentation is active, either alone or in combinationwith other techniques for presentation activity determination as will bedescribed in further detail below. In general, hardware-basedinformation will be provided by information structures and/or procedurecalls available from the operating system and/orbuilt-in-operating-system (BIOS) of notebook computer 10. Theinformation will then be optionally used by a program embodying themethod of the present invention to decide whether or not a presentationmay be active.

Referring now to FIG. 2, an organization of software modules in notebookcomputer 10 is depicted in a block diagram. Operating system 20 is ageneral-purpose computer operating system such as WINDOWS, a product ofMicrosoft Corporation, to which the terminology of the presentapplication directly applies. However, it should be understood by one ofordinary skill in the art that techniques taught herein apply also toalternative operating systems and platforms, and that changes interminology or variants in structure associated with the operatingsystem may be made without exceeding the scope of the invention. Forexample, in an event-driven operating system, the language used hereinto describe message hooks does not apply, but event handlers can beproduced that provide the same actions when a window order alteringevent is fired. Also, in operating systems where the underlying filesystem does not recognize application launching as “opening” anexecutable file, an equivalent process for launching an application fileshould be recognized and applied. In such cases, data files such asdocuments and applications such as presentation managers may requireseparate treatment and authorization lists or attribute settings.

Operating system 20 includes all modules necessary to executeapplications, services, support hardware and user interfaces on ageneral-purpose computer system. In particular, with respect to theillustration of the present invention, operating system 20 includes ahardware monitor 21 that detects bus activity and maintains informationon attached devices, such as projector 12. Operating system 20 alsoincludes a file system 21B that is responsible for opening files andlaunching applications and a window control module 21A that controlswhat windows are displayed and in what order. Operating system 20 of thepresent invention also includes a control panel 21C for settingparameters of an external control program 28, which performs methods inaccordance with an embodiment of the present invention. Control panel21C is used to manage an “authorize” list 23 that may alternatively becontained in control program 28, that lists the files permitted foropening during a presentation. Opening in the context of the presentinvention (as well as in the terminology of WINDOWS) includes commencingexecution of a program or service. Control program 28 along withauthorize list 23 or 23A may be included entirely within operatingsystem 20, may be a separate service application, or may be includedwithin presentation managers such as POWERPOINT (a product of MicrosoftCorporation) or LOTUS FREELANCE GRAPHICS (a product of InternationalBusiness Machines Corporation). Control panel 21C may also be locatedalong with control program 28 in any of the above-listed executableprograms.

Application and data files within notebook computer 10 are illustratedin the right-hand side of FIG. 2. Authorized applications/files 22Aillustrates a presentation program 24A and a data file 26A that may beopened at all times and are so authorized by control program 28 becausefiles 22A and 24A are included in authorize list 23. Unauthorizedapplications/files 22B are not opened when a presentation is in progressand are illustrated as including a document 26B (a sales agreement for aclient other than the client for which the presentation is being made)and an instant messaging application 24C that might pop up during thepresentation and display personal messages directed at the presenter.

The method of the present invention blocks the above-mentionedapplications and /or opening of other files such as documents when apresentation is active. Determination of whether or not a presentationis active may be made using the hardware scheme disclosed above wherethe display adapter in use sets the criteria. Or, a mode may be set inpresentation program 24A or in control panel 21C that simply activatesapplication/file blocking when selected by the user. Another alternativeis to detect when presentation program 24A is active and to blockunauthorized window focus or file opening during that time. Combinationsof the above techniques may also be used, such as determining thatprojector 12 is connected while presentation program 24A is active.Setting of the mode may also be made within presentations via a macro orkeyword, so that the presentation may control application blocking.Different authorize lists 23 may also be provided and populated for eachpresentation.

There are several alternative mechanisms by which the method of thepresentation may block the display of windows generated for document 26Band instant messaging application 24C. The technique used is largelydependent on where control program 28 is located. If operating system 20is modified to contain control program 28, then file system 21B can seta special file attribute for authorized files when control panel 21Csets up the authorizations, permitting only those files to be openedduring a presentation. In such cases, authorize list 23 may not beneeded, as the requisite information is contained in the fileattributes. Alternatively, authorize list 23 may be used by file system21B to verify whether or not to open a file during a presentation.

Alternatively, operating system 20 or an external control program 28(such as a separate program/service or presentation application) may“hook” the message stream and determine when a window is about to gainfocus. If the window does not belong to an authorized application, or ifthe window is associated with a data file that is not authorized, thefocus can be shifted back to an authorized window immediately, so thatthe unauthorized window does not display or only displays momentarily.Another alternative is to hold focus using a modal window, until anauthorized application attempts to gain focus (as long as any documentthat is associated with the window is also authorized).

In general it is only necessary to: 1) determine that a presentation isactive; 2) determine that an application or file is being opened or thata window is getting focus; 3) determine whether the opening file orwindow is authorized; and 4) selectively permit the file to be opened orthe window to have focus.

Referring now to FIG. 3, a method in accordance with an embodiment ofthe invention is illustrated in a flowchart. First, a list of authorizedfiles is built (step 30). Next, either a database is built, orattributes are set for the authorized files (step 31). Then, if apresentation (and/or projector) is active (decision 32), the controlprogram watches for file opens (including application starts) and/orfocus changes (step 33). When a focus change or file open occurs, if anauthorized file is to get the focus (decision 34), the focus change/fileopen is permitted. If an unauthorized application/file is to get thefocus (decision 34), then the file/application open or focus change isblocked (step 35). The above process is repeated until it is disabled(decision 36).

The above-described method is only one possible embodiment of thepresent invention, which extends to variations on the basic method inorder to achieve the goal of preventing unexpected intrusions orexposure of data during presentations. For example, the method may bereversed to build a list of unauthorized files, rather than a list ofauthorized files. While such a list would generally not be exhaustive,it could suffice to provide for blocking of sensitive files and pop-upapplications.

While the invention has been particularly shown and described withreference to the preferred embodiments thereof, it will be understood bythose skilled in the art that the foregoing and other changes in form,and details may be made therein without departing from the spirit andscope of the invention.

1. A method for controlling use of a computer screen during acomputer-generated presentation, the method comprising: building a listof files permitted to have screen focus during said computer-generatedpresentation; first determining whether or not a computer-generatedpresentation is active; in response to determining that saidcomputer-generated presentation is active, second determining whether ornot a file is about to obtain a focus of said computer screen; inresponse to determining that said file is about to obtain said focus,third determining whether or not said file is in said list of files; andin response to determining that said file is not in said list,preventing said file from obtaining said focus.
 2. The method of claim1, wherein said file is a currently open file, wherein said seconddetermining determines whether or not a window generated for said filewill obtain said focus, and wherein said preventing is performed bydenying access to said focus by said window.
 3. The method of claim 1,wherein said file is not a currently open file, and wherein saidpreventing is performed by blocking opening of said file.
 4. The methodof claim 1, wherein said file is a service providing a pop-up window inresponse to an activity generated by an automatic process outside ofsaid computer-generated presentation, and wherein said preventing isperformed by denying access to said focus by said pop-up window.
 5. Themethod of claim 1, further comprising detecting whether or not aparticular display port is active, and wherein said first determiningdetermines that said computer-generated presentation is active inconformity with detecting that said particular display port is active.6. The method of claim 1, further comprising detecting whether or not aparticular display type is active, and wherein said first determiningdetermines that said computer-generated presentation is active inconformity with detecting that said particular display type is active.7. The method of claim 1, further comprising detecting whether or not apresentation program is active, and wherein said first determiningdetermines that said presentation program is active in conformity with aresult of said detecting.
 8. A computer system including a memory forstoring program instructions and data, and a processor for executingsaid program instructions, and wherein said program instructionscomprise program instructions for: building a list of files permitted tohave screen focus during said computer-generated presentation; firstdetermining whether or not a computer-generated presentation is active;in response to determining that said computer-generated presentation isactive, second determining whether or not a file is about to obtain afocus of said computer screen; in response to determining that said fileis about to obtain said focus, third determining whether or not saidfile is in said list of files; and in response to determining that saidfile is not in said list, preventing said file from obtaining saidfocus.
 9. The computer system of claim 8, wherein said file is acurrently open file, wherein said program instructions for seconddetermining determine whether or not a window generated for said filewill obtain said focus, and wherein said program instructions forpreventing deny access to said focus by said window.
 10. The computersystem of claim 8, wherein said file is not a currently open file, andwherein said program instructions for preventing block opening of saidfile.
 11. The computer system of claim 8, wherein said file is a serviceproviding a pop-up window in response to an activity generated by anautomatic process outside of said computer-generated presentation, andwherein said program instructions for preventing deny access to saidfocus by said pop-up window.
 12. The computer system of claim 8, whereinsaid program instructions further comprise program instructions fordetecting whether or not a particular display port is active, andwherein said program instructions for first determining determine thatsaid computer-generated presentation is active in response to saidprogram instructions for detecting having detected that said particulardisplay port is active.
 13. The computer system of claim 8, wherein saidprogram instructions further comprise program instructions for detectingwhether or not a particular display type is active, and wherein saidprogram instructions for first determining determine that saidcomputer-generated presentation is active in response to said programinstructions for detecting having detected that said particular displaytype is active.
 14. The computer system of claim 8, further comprisingprogram instructions for detecting whether or not a presentation programis active, and wherein said program instructions for first determiningdetermine that said presentation program is active in conformity with aresult of said detecting.
 15. A computer program product comprisingsignal-bearing media encoding program instructions for execution on ageneral-purpose computer system, wherein said program instructionscomprise program instructions for: building a list of files permitted tohave screen focus during said computer-generated presentation; firstdetermining whether or not a computer-generated presentation is active;in response to determining that said computer-generated presentation isactive, second determining whether or not a file is about to obtain afocus of said computer screen; in response to determining that said fileis about to obtain said focus, third determining whether or not saidfile is in said list of files; and in response to determining that saidfile is not in said list, preventing said file from obtaining saidfocus.
 16. The computer program product of claim 15, wherein said fileis a currently open file, wherein said program instructions for seconddetermining determine whether or not a window generated for said filewill obtain said focus, and wherein said program instructions forpreventing deny access to said focus by said window.
 17. The computerprogram product of claim 15, wherein said file is not a currently openfile, and wherein said program instructions for preventing block openingof said file.
 18. The computer program product of claim 15, wherein saidfile is a service providing a pop-up window in response to an activitygenerated by an automatic process outside of said computer-generatedpresentation, and wherein said program instructions for preventing denyaccess to said focus by said pop-up window.
 19. The computer programproduct of claim 15, wherein said program instructions further compriseprogram instructions for detecting whether or not a particular displayport is active, and wherein said program instructions for firstdetermining determine whether or not said computer-generatedpresentation is active in response to said program instructions fordetecting having detected that said particular display port is active.20. The computer program product of claim 15, wherein said programinstructions further comprise program instructions for detecting whetheror not a particular display type is active, and wherein said programinstructions for first determining determine that saidcomputer-generated presentation is active in response to said programinstructions for detecting having detected that said particular displaytype is active.
 21. The computer program product of claim 15, furthercomprising program instructions for detecting whether or not apresentation program is active, and wherein said program instructionsfor first determining determine that said presentation program is activein conformity with a result of said detecting.